package com.aegis.common.token.model;

/**
 * @Author wuweixin
 *
 * @Version 1.0
 * @Descritube
 */
@Deprecated
public class SignatureParams {
    private final String appId;
    private final String nonce;
    /**
     * 预留的，暂时没有用
     */
    private final String token;
    private final String query;
    private final String body;

    private final String timestamp;

    private SignatureParams(Builder builder) {
        this.appId = builder.appId;
        this.nonce = builder.nonce;
        this.token = builder.token;
        this.query = builder.query;
        this.body = builder.body;
        this.timestamp = builder.timestamp;
    }

    public String getAppId() {
        return appId;
    }

    public String getNonce() {
        return nonce;
    }

    public String getToken() {
        return token;
    }

    public String getQuery() {
        return query;
    }

    public String getBody() {
        return body;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static class Builder {
        private String appId;
        private String nonce;
        private String token;
        private String query;
        private String body;
        private String timestamp;

        public Builder timestamp(String timestamp) {
            this.timestamp = timestamp;
            return this;
        }

        public Builder appId(String appId) {
            this.appId = appId;
            return this;
        }

        public Builder nonce(String nonce) {
            this.nonce = nonce;
            return this;
        }

        public Builder token(String token) {
            this.token = token;
            return this;
        }

        public Builder query(String query) {
            this.query = query;
            return this;
        }

        public Builder body(String body) {
            this.body = body;
            return this;
        }

        public SignatureParams build() {
            return new SignatureParams(this);
        }
    }
}